package com.ecode.annotation;

import com.ecode.annotation.enums.CodeDataFromEnum;
import com.ecode.annotation.enums.CodeDataTypeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @ClassName ErrorCode
 * @Author mjlft
 * @Date 2021/9/25 8:42
 * @Version 1.0
 * @Description 错误码注解
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface ErrorCode {
    //默认数据类型
    CodeDataTypeEnum dataType() default CodeDataTypeEnum.JSON;;
    //数据来源
    CodeDataFromEnum dataFROM() default CodeDataFromEnum.PROJECT;

    //mysql数据地址
    String mysqlUrl() default "";
    String mysqlTableName() default "";
    String mysqlUserName() default "";
    String mysqlUserPass() default "";

    //项目中数据配置路径
    String projectConfigPath() default "code.conf";

    //本地配置路径
    String localPath() default "";

    //Http 配置url
    String configUrl() default "";

    //其他配置数据格式，需要自行解析使用
    String otherConfig() default "";

    //数据获取构建，要求集成CodeDataPullBuilder
    String customDataPullBuilder() default "";
    //自定义数据解析类
    String customDataParseClass() default "";

    String sys() default "";
    String model() default "";
    String version() default "";
}
